字符串能夠成幾個單字"MARGARITA"
暴力解即可,"MARGARITA"中含有
一個“M”、三個“A”、兩個“R”、一個“G”、一個“I”和一個“T”的最低食材數
將這些單字統計後並計算最少可以組成的pizza數量。
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main(){
int n;
string str;
cin>>n;
while(cin>>str){
int m=0,a=0,r=0,g=0,i=0,t=0;
if(n==0) break;
for(int j=0;j<str.length();j++){
if(str[j]=='M') m++;
else if(str[j]=='A') a++;
else if(str[j]=='R') r++;
else if(str[j]=='G') g++;
else if(str[j]=='I') i++;
else if(str[j]=='T') t++;
}
//因為要以最少食材來決定最多能做出幾個pizza,所以A/3和R/2
cout << min(m,min(a/3,min(r/2,min(g,min(i,t)))))<<endl;
n--;
}
}
個位數字持續性的互相相加,計算此數到最後得到僅有一位數字的值。
將數字不斷除十後,將個位數相加。
若相加後仍然大於十,重複執行該迴圈,直到小於十停止迴圈並輸出。
#include <iostream>
using namespace std;
int f(int a)
{
int sum=0;
while(a!=0)
{
sum+=a%10;
a/=10;
}
return sum;
}
int main()
{
int x;
while(cin>>x)
{
if(x==0){break;}
while(f(x)>=10) { x=f(x); }
cout<<f(x)<<endl;
}
return 0;
}